package br.com.it4.zmed.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Entidade básica representando o médico.
 * 
 * @author Mozart Silva (mozart.vsilva@gmail.com)
 * 
 */
@Entity
@Table(name = "ZME_MEDICO", schema = "ZMED")
public class Medico {

    /** O nome do médico. */
    @Id
    @Column(name = "MED_CRM")
    private String crm;

    /** O nome do médico. */
    @Column(name = "MED_NOME")
    private String nome;

    /** A especialidade do médico. */
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ESP_CODIGO")
    private Especialidade especialidade;

    /**
     * @return O crm a ser recuperado.
     */
    public String getCrm() {
        return crm;
    }

    /**
     * @param crm
     *            O crm a ser atribuido.
     */
    public void setCrm(String crm) {
        this.crm = crm;
    }

    /**
     * @return O nome a ser recuperado.
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome
     *            O nome a ser atribuido.
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return A especialidade a ser recuperada.
     */
    public Especialidade getEspecialidade() {
        return especialidade;
    }

    /**
     * @param especialidade
     *            A especialidade a ser atribuida.
     */
    public void setEspecialidade(Especialidade especialidade) {
        this.especialidade = especialidade;
    }

}
